package com.itheima.mapper;

import com.github.pagehelper.Page;
import com.itheima.domain.Setmeal;

import java.util.List;
import java.util.Map;

/**
 * @PackageName: com.itheima.mapper
 * @ClassName: SetmealMapper
 * @Author: Solomon
 * @Date: 2020/7/2 19:10
 * @Description:
 */
public interface SetmealMapper {

    //分页条件查询检查套餐
    Page<Setmeal> findByCondition(String queryString);

    //新增检查套餐的基本信息
    void add(Setmeal setmeal);

    //设置检查套餐和检查组之间的关联关系
    void setSetmealAndCheckGroup(List<Map<String, Integer>> list);

    //编辑套餐时根据id查询套餐基本信息回显
    Setmeal findSetmealById(Integer setmealId);

    //检查套餐数据回显时，查询想关联的检查组的信息
    List<Integer> findCheckGroupIdsById(Integer setmealId);

    //删除检查套餐时，先删除中间表的信息
    void deleteCheckGroupBySetmealId(Integer setmealId);

    //删除检查套餐的基本信息
    void deleteBySetmealId(Integer setmealId);

    //修改检查套餐的基本信息
    void update(Setmeal setmeal);

    //移动端查询所有检查套餐的数据
    List<Setmeal> queryAllSetmeal();

    //移动端点击检查套餐时，根据id回显数据，包括（基本信息，检查组信息，检查项信息）
    Setmeal querySetmealById(Integer setmealId);

    //查询套餐的名称和预约占比
    List<Map<String, Object>> findSetmealCount();
}
